home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / modules / nessus-2.2.8.mo / usr / lib / nessus / plugins / altavista_search.nasl < prev    next >
Text File  |  2005-01-14  |  3KB  |  89 lines

  1. #
  2. # This script was written by Renaud Deraison <deraison@cvs.nessus.org>
  3. #
  4. # See the Nessus Scripts License for details
  5. #
  6.  
  7. if(description)
  8. {
  9.  script_id(10015);
  10.  script_bugtraq_id(896);
  11.  script_version ("$Revision: 1.24 $");
  12.  script_cve_id("CVE-2000-0039");
  13.  name["english"] = "AltaVista Intranet Search";
  14.  name["francais"] = "AltaVista Intranet Search";
  15.  script_name(english:name["english"], francais:name["francais"]);
  16.  
  17.  desc["english"] = "
  18. It is possible to read the content of any files on the remote 
  19. host (such as your configuration files or other sensitive data) 
  20. by using the Altavista Intranet Search service, and performing 
  21. the request:
  22.  
  23.     GET /cgi-bin/query?mss=%2e%2e/config
  24.  
  25. Bugtraq ID : 896
  26.  
  27. Solution : 
  28. - edit <install-dir>/httpd/config file and change MGMT_IPSPEC from
  29. '0.0.0.0/0' to a specific IP such as '127.0.0.1/32'
  30. - stop page gathering via the management interface
  31. - restart Altavista Search Service (to re-read config file)
  32. - restart page gathering if necessary
  33. - change the username/password through the management interface to bogus
  34. information
  35. - exploit server and download ../logs/mgtstate  (puts file in cache)
  36.   http://localhost:9000/cgi-bin/query?mss=../logs/mgtstate
  37. - change the username/password through the management interface to something
  38. different (but not used anywhere else)
  39. - avoid restarting the Altavista service or clearing the cache
  40.  
  41. Risk factor : High";
  42.  
  43.  
  44.  script_description(english:desc["english"]);
  45.  
  46.  summary["english"] = "Checks if query?mss=... reads arbitrary files";
  47.  summary["francais"] = "DΘtermine si query?mss=... lit des fichiers arbitraires";
  48.  
  49.  script_summary(english:summary["english"], francais:summary["francais"]);
  50.  
  51.  script_category(ACT_GATHER_INFO);
  52.  
  53.  
  54.  script_copyright(english:"This script is Copyright (C) 2000 Renaud Deraison",
  55.         francais:"Ce script est Copyright (C) 2000 Renaud Deraison");
  56.  family["english"] = "CGI abuses";
  57.  family["francais"] = "Abus de CGI";
  58.  script_family(english:family["english"], francais:family["francais"]);
  59.  script_dependencie("find_service.nes", "http_version.nasl");
  60.   script_require_ports("Services/www", 80);
  61.  exit(0);
  62. }
  63.  
  64. #
  65. # The script code starts here
  66. #
  67.  
  68. include("http_func.inc");
  69. include("http_keepalive.inc");
  70.  
  71. port = get_http_port(default:80);
  72.  
  73. if(!get_port_state(port))exit(0);
  74.  
  75.  
  76. foreach dir (cgi_dirs())
  77. {
  78. item = string(dir, "/query?mss=%2e%2e/config");
  79. req = http_get(item:item, port:port);
  80. result = http_keepalive_send_recv(port:port, data:req);
  81. if( result == NULL ) exit(0);
  82. if("MGMT_PW" >< result){
  83.     security_hole(port);
  84.     exit(0);
  85.     }
  86.  
  87.  
  88.